perm filename D2[AM,DBL] blob sn#211587 filedate 1976-04-16 generic text, type T, neo UTF8
(FILECREATED "13-APR-76 19:20:39" <LENAT>D2.;4 25318  

     changes to:  COA-SUG D2COMS

     previous date: "13-APR-76 09:47:57" <LENAT>D2.;3)


  (LISPXPRINT (QUOTE D2COMS)
	      T T)
  [RPAQQ D2COMS ((FNS NUM-WTS INVOP-SUG)
	  D2CONS
	  [COMS * (LIST (CONS (QUOTE IFPROP)
			      (CONS (QUOTE ALL)
				    D2CONS]
	  GCNT CANDS DO-THRESH INTHRESH (P (NUM-WTS)
					   (MAPC D2CONS (QUOTE NEW-CON]
(DEFINEQ

(NUM-WTS
  [LAMBDA NIL
    (SETB (QUOTE REV-ORD-PAIR)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE CANONIZE)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE INV-OP)
	  (QUOTE WORTH)
	  (LIST 50))
    (SETB (QUOTE CONJEC)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE MAP-JOIN)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE MAP-REPLACE)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE MAP-REPLACE2)
	  (QUOTE WORTH)
	  (LIST 10))
    (SETB (QUOTE EMPTY-STRUC)
	  (QUOTE WORTH)
	  (LIST 100))
    (SETB (QUOTE NON-EMPTY-STRUC)
	  (QUOTE WORTH)
	  (LIST 100))
    (SETB (QUOTE ORD-PAIR)
	  (QUOTE WORTH)
	  (LIST 100))
    [MAPC CONCEPTS (FUNCTION (LAMBDA (B)
	      (AND (CADDDR (GETB B (QUOTE WORTH)))
		   (SET-NTH (GETB B (QUOTE WORTH))
			    4 50]
    (SETB (QUOTE COALESCE)
	  (QUOTE WORTH)
	  (LIST 200 200 100 50))
    (SETB (QUOTE COMPOSE)
	  (QUOTE WORTH)
	  (LIST 200 200 100 50))
    (SETB (QUOTE INV-OP)
	  (QUOTE WORTH)
	  (LIST 200 200 100 0))
    (SETB (QUOTE IDENTITY)
	  (QUOTE WORTH)
	  (LIST 100 100 900 10])

(INVOP-SUG
  [LAMBDA (C)                                                                   (* These weights and criteria are 
										similar to Coalescing.
										Maybe there should be some addl hints 
										here)
    (AND (GETB C (QUOTE EXS))
	 (IGREATERP (DOTPROD (GETB C (QUOTE WORTH))
			     (LIST .5 .2 .1))
		    DO-THRESH)
	 (NOT (IS-CON (GLUE (QUOTE INV)
			    C)))
	 (COND
	   [(ISA C (QUOTE INVERTED-OP))
	     (AND [NOT (MEMB C (GETB (QUOTE INVERTED-OP)
				     (QUOTE EXS]
		  (MATCH (UNPACK C) WITH ((QUOTE C)
					  (QUOTE O)
					  (QUOTE A)
					  (QUOTE -)
					  $]
	   (T T))
	 (NOT (GETB C (QUOTE INV)))
	 (LIST (LIST (LIST (QUOTE APPLYB)
			   (Q INV-OP)
			   (Q ALGS)
			   (KWOTE C))
		     (DOTPROD (LIST .7 .1 .1 .1)
			      (GETB C (QUOTE WORTH)))
		     (LIST (SPLIST C is interesting COMMA an Operation COMMA (LENGTH (GETB C (QUOTE EXS)))
				   known examples COMMA and (QUOTE I)
							    have
			      never tried to invert it])
)
  (RPAQQ D2CONS
	 (ADD ADD-FACTOR BAG-OF-NUMBERS BAG-OF-PRIMES BAG-STRUC CROSS-PRODUCT DECREMENT DIVIDE FACTOR INCREMENT INV-ADD 
	      INV-MULTIPLY LIST-STRUC MAXI MINI MULTIPLY NUMBER OBJ-EQUAL OSET-STRUC PRIMES SET-OF-BAGS-OF-NUMBERS 
	      SET-STRUC SINGLETON SUBTRACT))
  (PUTPROPS ADD WORTH (400 100 0 50) 
                ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IPLUS BA1 BA2))) 
                D-R ((NUMBER NUMBER NUMBER)) 
                GUP (OPERATION INVERTED-OP) 
                UP (OPERATION INVERTED-OP ACTIVE) 
                SPEC (INCREMENT) 
                DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							   (NUMBERP BA2)
							   (EQUAL BA3 (IPLUS BA1 BA2]
		      (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-JOIN (EQUAL BA3
										     (APPLYB
										       (QUOTE OBJECT)
										       (QUOTE VIEW)
										       (QUOTE NUMBER)
										       (APPLYB (QUOTE BAG-STRUC-JOIN)
											       (QUOTE ALGS)
											       (APPLYB (QUOTE OBJECT)
												       (QUOTE VIEW)
												       (QUOTE STRUCTURE)
												       BA1)
											       (APPLYB (QUOTE OBJECT)
												       (QUOTE VIEW)
												       (QUOTE STRUCTURE)
												       BA2] 
                INV (INV-ADD ADD-FACTOR SUBTRACT) 
                FEX (6))
  (PUTPROPS ADD-FACTOR WORTH (300 100 0 50) 
                       ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IAD2 BA1))) 
                       D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                       GUP (OPERATION INVERTED-OP) 
                       UP (OPERATION INVERTED-OP ACTIVE) 
                       DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								  (EQUAL BA2 (IAD2 BA1] 
                       INV (ADD) 
                       FEX (6))
  (PUTPROPS BAG-OF-NUMBERS GENL (BAG-STRUC) 
                           WORTH (400 300) 
                           DEFN [(TYPE NONRECURSIVE (EACH-ISA BA1 (QUOTE NUMBER] 
                           SPEC (BAG-OF-PRIMES) 
                           UP-NOT (ACTIVE) 
                           FEX (6))
  (PUTPROPS BAG-OF-PRIMES GENL (BAG-OF-NUMBERS) 
                          WORTH (400 300) 
                          DEFN [(TYPE QUASIRECURSIVE (EACH-ISA BA1 (QUOTE PRIMES] 
                          UP-NOT (ACTIVE) 
                          FEX (6))
  (PUTPROPS BAG-STRUC GENL (UNORD-OBJ MULT-STRUC) 
                      WORTH (600 700) 
                      DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						    (EQ (CAR BA1)
							(QUOTE BAG] 
                      IN-DOM-OF (BAG-STRUC-INSERT BAG-STRUC-JOIN BAG-STRUC-DELETE BAG-STRUC-INTERSECT) 
                      IN-RAN-OF (BAG-STRUC-INSERT BAG-STRUC-JOIN BAG-STRUC-DELETE BAG-STRUC-INTERSECT) 
                      SPEC (BAG-OF-STRUCS BAG-OF-NUMBERS) 
                      UP (ANY-STRUC) 
                      FEX (4) 
                      UP-NOT (ACTIVE) 
                      EXS-NOT-BDY ((BAG B A)
				   (BAG (BAG)
					A)
				   (CLASS)) 
                      EXS ((BAG)
			   (BAG A)
			   (BAG B)
			   (BAG A B)
			   (BAG A A)
			   (BAG 3 3 3 4)
			   (BAG 4 4 4)
			   (BAG A (BAG))
			   (BAG 2 4 (BAG A A B))) 
                      EXS-BDY ((BAG)
			       (BAG 0)
			       (BAG 1)) 
                      EXS-NOT ((VECTOR B A)
			       (OSET (BAG)
				     A)))
  (PUTPROPS CROSS-PRODUCT WORTH (200 100 0 50) 
                          ALGS [(TYPE NONRECURSIVE (CONS (QUOTE BAG)
							 (SORT [MAPCONC (CDR BA1)
									(FUNCTION (LAMBDA
										    (X)
										    (MAPCAR (CDR BA2)
											    (FUNCTION
											      (LAMBDA
												(Y)
												(LIST (QUOTE PAIR)
												      X Y]
							       (QUOTE SORD] 
                          D-R ((STRUCTURE STRUCTURE BAG-STRUC)
			       (STRUCTURE STRUCTURE STRUCTURE)
			       (STRUCTURE STRUCTURE RELATION)) 
                          GUP (OPERATION) 
                          UP (OPERATION ACTIVE) 
                          DEFN [(TYPE NONRECURSIVE (AND (APPLY* (QUOTE DEFN)
								(QUOTE STRUCTURE)
								BA1)
							(APPLY* (QUOTE DEFN)
								(QUOTE STRUCTURE)
								BA2)
							(EQUAL BA3 (APPLYB (QUOTE CROSS-PRODUCT)
									   (QUOTE ALGS)
									   BA1 BA2] 
                          FEX (6))
  (PUTPROPS DECREMENT WORTH (50 100 0 50) 
                      ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (SUB1 BA1))) 
                      D-R ((NUMBER NUMBER)) 
                      GENL (SUBTRACT) 
                      DEFN ((TYPE QUASIRECURSIVE REDUCING-TO SUBTRACT (APPLYB (QUOTE SUBTRACT)
									      (QUOTE DEFN)
									      BA1 1 BA2))) 
                      INV (INCREMENT) 
                      UP (INVERTED-OP ACTIVE) 
                      GUP (INVERTED-OP) 
                      FEX (6))
  (PUTPROPS DIVIDE WORTH (200 100 0 50) 
                   ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IQUOTIENT BA1 BA2))) 
                   D-R ((NUMBER NUMBER NUMBER)) 
                   GUP (OPERATION INVERTED-OP) 
                   UP (OPERATION INVERTED-OP ACTIVE) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							      (NUMBERP BA2)
							      (EQUAL BA3 (IQUOTIENT BA1 BA2] 
                   INV (MULTIPLY) 
                   FEX (6))
  (PUTPROPS FACTOR WORTH (500 100 0 50) 
                   ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IDI2 BA1))) 
                   D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                   GUP (OPERATION INVERTED-OP) 
                   UP (OPERATION INVERTED-OP ACTIVE) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							      (EQUAL BA2 (IDI2 BA1] 
                   INV (MULTIPLY) 
                   FEX (6))
  (PUTPROPS INCREMENT WORTH (50 100 0 50) 
                      ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (ADD1 BA1))) 
                      D-R ((NUMBER NUMBER)) 
                      GENL (ADD) 
                      DEFN ((TYPE QUASIRECURSIVE REDUCING-TO ADD (APPLYB (QUOTE ADD)
									 (QUOTE DEFN)
									 BA1 1 BA2))) 
                      INV (DECREMENT) 
                      UP (INVERTED-OP ACTIVE) 
                      GUP (INVERTED-OP) 
                      FEX (6))
  (PUTPROPS INV-ADD WORTH (450 100 100 50) 
                    ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IAD3 BA1))) 
                    D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                    GUP (OPERATION INVERTED-OP) 
                    UP (OPERATION INVERTED-OP ACTIVE) 
                    DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							       (EQUAL BA2 (IAD3 BA1] 
                    INV (ADD) 
                    FEX (6))
  (PUTPROPS INV-MULTIPLY WORTH (50 100 0 50) 
                         ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (IDI3 BA1))) 
                         D-R ((NUMBER SET-OF-BAGS-OF-NUMBERS)) 
                         GUP (OPERATION INVERTED-OP) 
                         UP (OPERATION INVERTED-OP ACTIVE) 
                         DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								    (EQUAL BA2 (IDI3 BA1] 
                         INV (MULTIPLY) 
                         FEX (6))
  (PUTPROPS LIST-STRUC GENL (ORD-OBJ MULT-STRUC) 
                       WORTH (300 200 700 50 400 990 900 1000 800 800 1000) 
                       DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						     (EQ (CAR BA1)
							 (QUOTE VECTOR] 
                       INTU [(CONS (QUOTE VECTOR)
				   (RAND-SUBSET USERNAMES))
			     (CONS (QUOTE VECTOR)
				   (APPEND (SETQ RB1 (RAND-SUBSET USERNAMES))
					   (RAND-SUBSET RB1)))
			     (CONS (QUOTE VECTOR)
				   (RAND-PERMUTE (RAND-SUBSET USERNAMES] 
                       IN-DOM-OF (LIST-STRUC-INSERT FIRST REAR FINAL LIST-STRUC-DELETE LIST-STRUC-INTERSECT) 
                       EXS ((VECTOR)
			    (VECTOR A)
			    (VECTOR B)
			    (VECTOR A B)
			    (VECTOR A A)
			    (VECTOR B A)
			    (VECTOR A A B)
			    (VECTOR D M I F 0)
			    (VECTOR 1 3 2 4 7)
			    (VECTOR 2 (BAG 2)
				    (CLASS)
				    A)) 
                       EXS-BDY ((VECTOR)
				(VECTOR BAG)) 
                       EXS-NOT-BDY ((BAG VECTOR)
				    (CLASS 2 3)) 
                       IN-RAN-OF (LIST-STRUC-DELETE LIST-STRUC-INSERT LIST-STRUC-INTERSECT) 
                       UP (ANY-STRUC) 
                       FEX (4 (VECTOR)
			      (VECTOR A)
			      (VECTOR B)
			      (VECTOR A B)
			      (VECTOR A A)
			      (VECTOR B A)
			      (VECTOR A A B)
			      (VECTOR D M I F 0)
			      (VECTOR B (BAG B)
				      (CLASS)
				      A)
			      (VECTOR)
			      (VECTOR BAG)) 
                       UP-NOT (ACTIVE))
  (PUTPROPS MAXI WORTH (100 100 0 50) 
                 ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (LARGER BA1 BA2))) 
                 D-R ((NUMBER NUMBER NUMBER)) 
                 GUP (OPERATION) 
                 UP (OPERATION ACTIVE) 
                 DEFN [(TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							    (NUMBERP BA2)
							    (EQUAL BA3 (LARGER BA1 BA2] 
                 FEX (6))
  (PUTPROPS MINI WORTH (150 100 0 50) 
                 ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (SMALLER BA1 BA2))) 
                 D-R ((NUMBER NUMBER NUMBER)) 
                 GUP (OPERATION) 
                 UP (OPERATION ACTIVE) 
                 DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
							    (NUMBERP BA2)
							    (EQUAL BA3 (SMALLER BA1 BA2]
		       (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-DIFF
			     (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						(QUOTE VIEW)
						(QUOTE NUMBER)
						(APPLYB (QUOTE BAG-STRUC-DIFF)
							(QUOTE ALGS)
							(APPLYB (QUOTE OBJECT)
								(QUOTE VIEW)
								(QUOTE STRUCTURE)
								BA1)
							(APPLYB (QUOTE OBJECT)
								(QUOTE VIEW)
								(QUOTE STRUCTURE)
								BA2] 
                 FEX (6))
  (PUTPROPS MULTIPLY WORTH (800 100 0 50) 
                     ALGS ((TYPE NONRECURSIVE OPAQUE QUICK (TIMES BA1 BA2))) 
                     D-R ((NUMBER NUMBER NUMBER)) 
                     GUP (OPERATION INVERTED-OP) 
                     UP (OPERATION INVERTED-OP ACTIVE) 
                     DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								(NUMBERP BA2)
								(EQUAL BA3 (TIMES BA1 BA2]
			   (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO CROSS-PRODUCT
				 (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						    (QUOTE VIEW)
						    (QUOTE NUMBER)
						    (APPLYB (QUOTE CROSS-PRODUCT)
							    (QUOTE ALGS)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA1)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA2] 
                     INV (INV-MULTIPLY FACTOR DIVIDE) 
                     FEX (6))
  (PUTPROPS NUMBER CLISPISPROP (number NUMBERS numbers) 
                   CLISPISFORM ((X)
				(X IS A NUMBER)
				(NUMBERP X)) 
                   GENL (OBJECT) 
                   SPEC (PRIMES) 
                   IN-DOM-OF (MULTIPLY DIVIDE ADD SUBTRACT FACTOR INV-ADD SQUARE INCREMENT DECREMENT MAXI MINI DOUBLE 
				       ADD-FACTOR) 
                   WORTH (700 500) 
                   VIEW ((STRUC-VU BA1 BA2)) 
                   DEFN ((TYPE NONRECURSIVE OPAQUE (NUMBERP BA1))) 
                   IN-RAN-OF (MULTIPLY DIVIDE ADD SUBTRACT SQUARE INCREMENT DECREMENT MAXI MINI INV-DOUBLE) 
                   UP (ANY-STRUC) 
                   EXS (4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31) 
                   EXS-BDY (0 1 2 3) 
                   EXS-NOT-BDY (NIL) 
                   EXS-NOT (T (BAG)) 
                   UP-NOT (ACTIVE))
  (PUTPROPS OBJ-EQUAL WORTH (500 500 666 50) 
                      ALGS [(TYPE NONRECURSIVE OPAQUE (EQUAL BA1 BA2))
			    (TYPE RECURSIVE MALLABLE (COND ((OR (NLISTP BA1)
								(NLISTP BA2))
							    (EQ BA1 BA2))
							   (T (AND (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE ALGS)
									   (CAR BA1)
									   (CAR BA2))
								   (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE ALGS)
									   (CDR BA1)
									   (CDR BA2] 
                      SPEC (STRUCTURE-EQUAL) 
                      D-R ((OBJECT OBJECT TRUTH-VAL)) 
                      GUP (PREDICATE) 
                      DEFN [(TYPE NONRECURSIVE OPAQUE (EQUAL BA1 BA2))
			    (TYPE RECURSIVE MALLABLE (COND ((OR (NLISTP BA1)
								(NLISTP BA2))
							    (EQ BA1 BA2))
							   (T (AND (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE DEFN)
									   (CAR BA1)
									   (CAR BA2))
								   (APPLYB (QUOTE OBJ-EQUAL)
									   (QUOTE DEFN)
									   (CDR BA1)
									   (CDR BA2] 
                      UP (PREDICATE ACTIVE) 
                      FEX (4) 
                      EXS ((BAG)
			   (BAG)
			   T))
  (PUTPROPS OSET-STRUC GENL (ORD-OBJ NONMULT-STRUC) 
                       WORTH (300 200 700 50 400 990 900 1000 800 800 1000) 
                       DEFN [(TYPE NONRECURSIVE (AND (LISTP BA1)
						     (EQ (CAR BA1)
							 (QUOTE OSET] 
                       INTU [(CONS (QUOTE OSET)
				   (RAND-SUBSET USERNAMES))
			     (CONS (QUOTE OSET)
				   (RAND-PERMUTE (RAND-SUBSET USERNAMES] 
                       IN-DOM-OF (OSET-STRUC-INSERT FIRST REAR FINAL OSET-STRUC-DELETE OSET-STRUC-INTERSECT) 
                       IN-RAN-OF (OSET-STRUC-DELETE OSET-STRUC-INSERT OSET-STRUC-INTERSECT) 
                       UP (ANY-STRUC) 
                       FEX (4) 
                       EXS ((OSET)
			    (OSET A)
			    (OSET B)
			    (OSET A B)
			    (OSET B A)
			    (OSET 2 (VECTOR 3 1)
				  2)) 
                       EXS-BDY ((OSET)) 
                       EXS-NOT-BDY ((OSET A A)
				    (OSET B A B B)
				    (CLASS A B)) 
                       EXS-NOT ((BAG 2 3 3)) 
                       UP-NOT (ACTIVE))
  (PUTPROPS PRIMES GENL (NUMBER) 
                   WORTH (900 700 100 50) 
                   DEFN [(TYPE NONRECURSIVE OPAQUE (AND (NUMBERP BA1)
							(FOR J FROM 2 TO (FIX (SQRT BA1))
							     ALWAYS
							     (NOT (ZEROP (IREMAINDER BA1 J] 
                   EXS (5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 71 73 79 83) 
                   EXS-BDY (2 3) 
                   EXS-NOT-BDY (0 1 4 9) 
                   EXS-NOT (12 15) 
                   UP-NOT (ACTIVE))
  (PUTPROPS SET-OF-BAGS-OF-NUMBERS GENL (SET-OF-STRUCS) 
                                   WORTH (100 10) 
                                   DEFN [(TYPE NONRECURSIVE (EACH-ISA BA1 (QUOTE BAG-OF-NUMBERS] 
                                   IN-RAN-OF (ADD-FACTOR) 
                                   UP-NOT (ACTIVE) 
                                   FEX (6))
  (PUTPROPS SET-STRUC GENL (UNORD-OBJ NONMULT-STRUC) 
                      WORTH (750 700 700 50 400 990 900 1000 800 800 1000) 
                      DEFN [[TYPE NONRECURSIVE (AND (LISTP BA1)
						    (EQ (CAR BA1)
							(QUOTE CLASS]
			    (TYPE RECURSIVE (COND [(EQUAL BA1 (LIST (QUOTE CLASS]
						  ((NOT (AND (LISTP BA1)
							     (CDR BA1)))
						   NIL)
						  ((APPLYB (QUOTE SET-STRUC)
							   (QUOTE DEFN)
							   (APPLYB (QUOTE STRUCTURE-DELETE)
								   (QUOTE ALGS)
								   (APPLYB (QUOTE STRUCTURE-MEMB)
									   (QUOTE ALGS)
									   NIL
									   (COPY BA1))
								   (COPY BA1] 
                      INTU [(CONS (QUOTE CLASS)
				  (RAND-SUBSET USERNAMES))
			    (CONS (QUOTE CLASS)
				  (RECTANGLE (RAND 0 7)
					     (RAND 0 7)
					     (RAND 0 7)
					     (RAND 0 7] 
                      IN-DOM-OF (SET-STRUC-INSERT SET-STRUC-DELETE SET-STRUC-DIFF SET-STRUC-INTERSECT) 
                      IN-RAN-OF (SET-STRUC-DELETE SET-STRUC-DIFF SET-STRUC-INSERT SET-STRUC-INTERSECT) 
                      SPEC (SET-OF-LISTS SET-OF-STRUCS SINGLETON) 
                      UP (ANY-STRUC) 
                      FEX (8 (CLASS CORDELL DON)
			     (CLASS R2-0 R2-1)
			     (CLASS A)
			     (CLASS B)
			     (CLASS A B)
			     (CLASS 0 D F I M)
			     (CLASS A B (BAG B)
				    (CLASS))
			     (CLASS)) 
                      UP-NOT (ACTIVE) 
                      EXS ((CLASS)
			   (CLASS A)
			   (CLASS B)
			   (CLASS A B)
			   (CLASS 1 2 3)
			   (CLASS 1 2 (CLASS 0))) 
                      EXS-BDY ((CLASS)) 
                      EXS-NOT-BDY ((CLASS B A)
				   (CLASS A A)
				   (OSET A B)
				   (BAG A B)) 
                      EXS-NOT ((VECTOR B A B)))
  (PUTPROPS SINGLETON GENL (SET-STRUC NON-EMPTY-STRUC) 
                      WORTH (400 100 100 50) 
                      DEFN [(TYPE NONRECURSIVE OPAQUE (AND (APPLYB (QUOTE STRUCTURE)
								   (QUOTE DEFN)
								   BA1)
							   (CDR BA1)
							   (NULL (CDDR BA1] 
                      FEX (13) 
                      UP-NOT (ACTIVE) 
                      EXS-NOT-BDY ((CLASS)
				   (CLASS A B)
				   (CLASS 1 2 3)
				   (CLASS 1 2 (CLASS 0))) 
                      EXS ((CLASS A)
			   (CLASS B)
			   (CLASS 4)
			   (CLASS 0)
			   (CLASS 1)
			   (CLASS 2)))
  (PUTPROPS SUBTRACT WORTH (200 100 0 50) 
                     ALGS [(TYPE NONRECURSIVE OPAQUE QUICK (LARGER 0 (IDIFFERENCE BA1 BA2] 
                     D-R ((NUMBER NUMBER NUMBER)) 
                     GUP (OPERATION INVERTED-OP) 
                     UP (OPERATION INVERTED-OP ACTIVE) 
                     DEFN [[TYPE NONRECURSIVE OPAQUE QUICK (AND (NUMBERP BA1)
								(NUMBERP BA2)
								(EQUAL BA3 (IDIFFERENCE BA1 BA2]
			   (TYPE QUASIRECURSIVE ANALOGY REDUCING-TO BAG-STRUC-DIFF
				 (EQUAL BA3 (APPLYB (QUOTE OBJECT)
						    (QUOTE VIEW)
						    (QUOTE NUMBER)
						    (APPLYB (QUOTE BAG-STRUC-DIFF)
							    (QUOTE ALGS)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA1)
							    (APPLYB (QUOTE OBJECT)
								    (QUOTE VIEW)
								    (QUOTE STRUCTURE)
								    BA2] 
                     SPEC (DECREMENT) 
                     INV (ADD) 
                     FEX (6))
  (RPAQQ GCNT 40)
  [RPAQQ CANDS (((FILLIN MULTIPLY EXS)
	   445
	   ((We have no examples for MULTIPLY yet)
	    (Anyb-exs specifically asked for some examples of MULTIPLY ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-STRUC-INTERSECT EXS)
	   422
	   ((Anyb-exs specifically asked for some examples of SET-STRUC-INTERSECT ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN ADD EXS)
	   400
	   ((We have no examples for ADD yet)
	    (Anyb-exs specifically asked for some examples of ADD ", " while trying to "Fill in some" Int-set-struc 
		      "examples")))
	  ((FILLIN FACTOR EXS)
	   310
	   ((We have no examples for FACTOR yet)
	    (Anyb-exs specifically asked for some examples of FACTOR ", " while trying to "Fill in some" Int-set-struc 
		      "examples")))
	  ((FILLIN INV-ADD EXS)
	   297
	   ((We have no examples for INV-ADD yet)
	    (Anyb-exs specifically asked for some examples of INV-ADD ", " while trying to "Fill in some" Int-set-struc 
		      "examples")))
	  ((FILLIN BAG-OF-PRIMES EXS)
	   281
	   ((We have no examples for BAG-OF-PRIMES yet)
	    (Anyb-exs specifically asked for some examples of BAG-OF-PRIMES ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN BAG-OF-NUMBERS EXS)
	   281
	   ((We have no examples for BAG-OF-NUMBERS yet)
	    (Anyb-exs specifically asked for some examples of BAG-OF-NUMBERS ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN ADD-FACTOR EXS)
	   231
	   ((We have no examples for ADD-FACTOR yet)
	    (Anyb-exs specifically asked for some examples of ADD-FACTOR ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN OBJ-EQUAL EXS-BDY)
	   216
	   ((We have no boundary-examples for OBJ-EQUAL yet)))
	  ((FILLIN MULTIPLY EXS-BDY)
	   170
	   ((We have no boundary-examples for MULTIPLY yet)))
	  ((FILLIN STRUCTURE-MEMB EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of STRUCTURE-MEMB ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN STRUCTURE-INTERSECT EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of STRUCTURE-INTERSECT ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN STRUC-OF-STRUCS EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of STRUC-OF-STRUCS ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN STRUC-OF-LISTS EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of STRUC-OF-LISTS ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-STRUC-INSERT EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of SET-STRUC-INSERT ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-STRUC-DIFF EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of SET-STRUC-DIFF ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-STRUC-DELETE EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of SET-STRUC-DELETE ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-OF-STRUCS EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of SET-OF-STRUCS ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN SET-OF-LISTS EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of SET-OF-LISTS ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN REV-ORD-PAIR EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of REV-ORD-PAIR ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN RELATION EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of RELATION ", " while trying to "Fill in some" 
		      Int-set-struc "examples")))
	  ((FILLIN REAR EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of REAR ", " while trying to "Fill in some" Int-set-struc 
		      "examples")))
	  ((FILLIN PROJ1 EXS)
	   163
	   ((Anyb-exs specifically asked for some examples of PROJ1 ", " while trying to "Fill in some" Int-set-struc 
		      "examples"]
  (RPAQQ DO-THRESH 350)
  (RPAQQ INTHRESH 100)
  (NUM-WTS)
  (MAPC D2CONS (QUOTE NEW-CON))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (419 2524 (NUM-WTS 431 . 1511) (INVOP-SUG 1515 . 2521)))))
STOP